package com.ph.irp.base.materialassistantattribute.dao;

import java.sql.SQLException;
import java.util.List;

import com.ph.irp.model.PBaseMaterialAssistantattributetype;

/**
 * The Interface AssistantAttributeTypeDao.
 * 
 * @author SongYandong song.yandong@phinfoservices.com
 * @version 1.0 <br>
 *          Copyright (C), 2009, SongYandong <br>
 *          This program is protected by copyright laws. <br>
 *          Program Name: AssistantAttributeTypeDao.java<br>
 *          Date:2009-11-16
 */
public interface AssistantAttributeTypeDao {

	/**
	 * Adds the attribute type.
	 * 
	 * @param model
	 *            the model
	 * 
	 * @throws SQLException
	 *             the SQL exception
	 */
	public void addAttributeType(PBaseMaterialAssistantattributetype model)
	throws Throwable;

	/**
	 * Update attribute type.
	 * 
	 * @param model
	 *            the model
	 * 
	 * @throws SQLException
	 *             the SQL exception
	 */
	public void updateAttributeType(PBaseMaterialAssistantattributetype model)
	throws Throwable;

	/**
	 * Gets the all attribute type.
	 * 
	 * @param model
	 *            the model
	 * 
	 * @return the all attribute type
	 * 
	 * @throws SQLException
	 *             the SQL exception
	 */
	public List<PBaseMaterialAssistantattributetype> getAllAttributeType(
			PBaseMaterialAssistantattributetype model) throws Throwable;

	/**
	 * Gets the attrobute type by id.
	 * 
	 * @param model
	 *            the model
	 * 
	 * @return the attrobute type by id
	 * 
	 * @throws SQLException
	 *             the SQL exception
	 */
	public PBaseMaterialAssistantattributetype getAttrobuteTypeById(int id)
	throws Throwable;

	/**
	 * Delete attribute type.
	 * 
	 * @param id
	 *            the id
	 * 
	 * @throws SQLException
	 *             the SQL exception
	 */
	public void deleteAttributeType(int id) throws Throwable;
	
	public List<PBaseMaterialAssistantattributetype> getAllAttributeType(
			int basicType) throws Throwable;
	public List<PBaseMaterialAssistantattributetype> getByCode(PBaseMaterialAssistantattributetype model) throws Throwable;
}
